A Model Checking Language for Concurrent Value-Passing Systems
نویسندگان
چکیده
Modal μ-calculus is an expressive specification formalism for temporal properties of concurrent programs represented as Labeled Transition Systems (Ltss). However, its practical use is hampered by the complexity of the formulas, which makes the specification task difficult and error-prone. In this paper, we propose Mcl (Model Checking Language), an enhancement of modal μ-calculus with high-level operators aimed at improving expressiveness and conciseness of formulas. The main Mcl ingredients are parameterized fixed points, action patterns extracting data values from Lts actions, modalities on transition sequences described using extended regular expressions and programming language constructs, and an infinite looping operator specifying fairness. We also present a method for on-the-fly model checking of Mcl formulas on finite Ltss, based on the local resolution of boolean equation systems, which has a linear-time complexity for alternation-free and fairness formulas. Mcl is supported by the Evaluator 4.0 model checker developed within the Cadp verification toolbox.
منابع مشابه
Zing: Exploiting Program Structure for Model Checking Concurrent Software
Model checking is a technique for finding bugs in systems by systematically exploring their state spaces. We wish to extract sound models from concurrent programs automatically and check the behaviors of these models systematically. The zing project is an effort to build a flexible infrastructure to represent and model check abstractions of large concurrent software. To support automatic extrac...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملFinding Symmetry in Models of Concurrent Systems by Static Channel Diagram Analysis
Over the last decade there has been much interest in exploiting symmetry to combat the state explosion problem in model checking. Although symmetry in a model often arises as a result of symmetry in the topology of the system being modelled, most model checkers which exploit structural symmetry are limited to topologies which exhibit total symmetries, such as stars and cliques. We define the st...
متن کاملA Static Verification Framework for Message Passing in Go using Behavioural Types
The Go programming language has been heavily adopted in industry as a language that eiciently combines systems programming with concurrency. Go’s concurrency primitives, inspired by process calculi such as CCS and CSP, feature channel-based communication and lightweight threads, providing a distinct means of structuring concurrent software. Despite its popularity, the Go programming ecosystem o...
متن کاملA Synergy Between Model-Checking and Type Inference for the Verification of Value-Passing Higher-Order Processes
In this paper, we present a formal verification framework for higherorder value-passing process algebra. This framework stems from an established synergy between type inference and model-checking. The language considered here is based on a sugared version of an implicitly typed λ-calculus extended with higher-order synchronous concurrency primitives. First, we endow such a syntax with a semanti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008